Computer systems are driven by machine-readable instructions encoded in binary format, wherein the encoding depends on the hardware platform executing the instructions, and ultimately, according to an instruction set of a platform processor. Programs are created with computer instructions in the form of source code, wherein compilers, or other tools, convert the source code into machine-readable instructions. These tools have steadily increased in performance and sophistication as technology has advanced. As one example, a standard compiler generally operates over source code in a particular computer programming language and generates an executable image of instructions for a particular hardware platform. As program sizes and the amount of source code increases, however, the time to compile large code sources can become excessive. Thus, costs associated with developing large programs can increase as the size of the program increases for no other reason than time is expended waiting for the compiler to complete or build executable code images.
Separate compilers and subsequent compilation processes may be required for each hardware platform that a particular source program is to be executed on. For instance, a program written in C++ can employ different compilers to target specific computer architectures. In order to address compile time and re-compilation issues, other types of compilers and execution models have been developed. As an example, intermediate language compilers have been developed that convert source code written in many different languages (e.g., C++, BASIC, Pascal, and the like) to an intermediate language that operates in a virtual environment sometimes referred to as a virtual machine. Thus, the virtual machine converts the intermediate language into the particular instructions required of the platform.